using System;
using System.Data;
using System.Text;
using System.Collections;

namespace Adoor.Domain.Tiers
{

    public abstract class Role_Enfant
    {
        public virtual Personne PersonnePhysique
        {
            get
            {
                return this.m_personnePhysique;
            }
            set
            {
                this.m_personnePhysique = value;
            }
        }

        //public virtual IList/*SACIJO.Domain.Retraite.Dossier.Document */ Documents
        //{
        //    get { return this.m_Documents; }
        //}

        public virtual Adoor.Domain.Tiers.Role_Conjoint Conjoint 
        {
            get
            {
                return this.m_Conjoint;
            }
            set
            {
                this.m_Conjoint = value;
            }
        }

        public virtual Adoor.Domain.Tiers.Role_Assure Assure
        {
            get
            {
                return this.m_assure;
            }
            set
            {
                this.m_assure = value;
            }
        }

        public virtual System.Boolean EnfantReconnu
        {
            get
            {
                return this.m_enfantReconnu;
            }
            set
            {
                this.m_enfantReconnu = value;
            }
        }
        public virtual System.Boolean RattachementInsee
        {
            get
            {
                return this.m_rattachementInsee;
            }
            set
            {
                this.m_rattachementInsee = value;
            }
        }

        //public virtual  SACIJO.Domain.Retraite.Dossier.DossierOrphelin DossierOrphelin
        //{
        //    get
        //    {
        //        return this.m_dossierOrphelin;
        //    }
        //    set
        //    {
        //        this.m_dossierOrphelin = value;
        //    }
        //}
              
        

        /// <summary>
        /// Called when user is creating a new entity.
        /// </summary>
        protected virtual void OnCreate(object[] args)
        {
            m_enfantReconnu = true;
            m_rattachementInsee = false;
        }

        /// <summary>
        /// Called when user is retreiving an entity from storage
        /// </summary>
        protected virtual void OnMaterialize()
        {

        }

        protected abstract Personne m_personnePhysique { get; set; }
        //protected abstract IList m_Documents { get; }
        protected abstract Adoor.Domain.Tiers.Role_Assure m_assure { get; set; }
        protected abstract Adoor.Domain.Tiers.Role_Conjoint m_Conjoint { get; set; }

        //protected abstract SACIJO.Domain.Retraite.Dossier.DossierOrphelin m_dossierOrphelin { get; set; }

        protected abstract System.Boolean m_enfantReconnu { get; set; }
        protected abstract System.Boolean m_rattachementInsee { get; set; }

 
    }
}

